package com.guodi.map.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guodi.map.entity.MapMaterialFile;

import java.util.List;


/**
 * @描述：
 * @作者: 戴伙进
 * @日期: 2020/6/3 9:28
 */
public interface IMapMaterialFileService extends IService<MapMaterialFile> {

    /**
     * @描述:根据ParentId删除记录
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/3 11:28
    **/
    void deleteByParentId(String id);

    /**
     * @描述:递归删除树节点下的所有数据
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/3 20:24
    **/
    void deleteByIds(String id);

    /**
     * @描述:通过父节点递归获取所有目录的材料数据
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/4 8:41
    **/
    List<MapMaterialFile> listMaterialTreeByParentId(String parentId, String type);


    /**
     * @描述:通过父节点递归获取所有数据
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/4 15:13
    **/
    List<MapMaterialFile> getAllByParentId(String parentId, String keyWord, Integer type);

    /**
     * @描述:查找最大的排序数字
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/3 20:08
     **/
    Integer selectMaxSort();

    /**
     * @描述:根据节点id向上递归获取所有的父节点信息
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/8 16:05
    **/
    List<MapMaterialFile> getAllParentById(List<String>  id);


    /**
     * @描述:根据节点获取所有子节点的数据
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/8 17:25
    **/
    List<MapMaterialFile> getAllChildrenById(String id, Integer type);

}
